package cn.fbs.dao.dm;

import cn.fbs.model.TImageInfo;
import cn.fbs.param.ListParamsVo;
import cn.fbs.vo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface DMImageInfoMapper {
    int deleteByPrimaryKey(Long id);

    int insert(TImageInfo record);

    int insertSelective(TImageInfo record);

    TImageInfo selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(TImageInfo record);

    int updateByPrimaryKeyWithBLOBs(TImageInfo record);

    int updateByPrimaryKey(TImageInfo record);

    List<TImageInfoVo> selectProductByTargetType(Long targetType);

    List<TProductInfoVo> searchProduct(@Param("targetType") String targetType,
                                       @Param("imageName")String imageName);

    List<TImageInfoVo> selectProductByTargetTypes(@Param("params") ListParamsVo params,
                                                  @Param("targetTypes") String targetTypes);

    List<TImageInfoVo> selectProductByTargetTypes2(@Param("params") ListParamsVo params,
                                                  @Param("targetTypes") String targetTypes);
    void deleteByIds(@Param("idsStr") String idsStr);

    TImageItemVo getImageItem(Integer id);

    ImageEvaluateVo getImageEvaluate(Long id);

    List<Object> selectByIdsStr(@Param("idsStr")String imageIdsStr);

    List<TImageInfo> queryPhotoByParam(QueryPhotoVo photoVo);

    void batchUploadImage( List<TImageInfo> list);

    List<Integer> selectByFileNames( List<String> list);

    void insertImage(TImageInfo record);

    Integer selectIdByFileName(@Param("fileName") String fileName);

    TImageInfoVo SingleInfo(@Param("id") Long id);


    Integer countByName(String fileName);

    List<ShareImageVo> getShareImageData(@Param("idsStr") String idsStr);

    int selectCountBytargetXh(@Param("targetXh") String targetXh,@Param("id") Long id);
    int selectCountByzzdx(@Param("zzdx") String zzdx);

    List<TImageInfo> likeDataByNm(@Param("likeStr")String likeStr);
    List<TImageInfo> getDataByNm(@Param("idsStr")String idsStr);
    TImageInfo getImageByFileUrl(@Param("fileUrl") String fileUrl);

}